Status information saving among multiple computers

ABSTRACT

Provided are techniques for status information saving among multiple computers. In one embodiment, a selected computer is operated using a plurality of input/output devices over switched input/output signal paths passing through a KVM (keyboard video mouse) switch positioned between the selected computer and the plurality of input/output devices. Status data is carried over signal paths passing through the KVM switch wherein the status data represents status information for a plurality of computers connected to the KVM switch. The status data passing through the KVM switch is stored in a memory coupled to the KVM switch. Other embodiments are described and claimed. Other embodiments are contemplated, depending upon the particular application.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation application of parent applicationSer. No. 12/485,708, filed Jun. 16, 2009 now U.S. Pat. No. 8,271,704,entitled “STATUS INFORMATION SAVING AMONG MULTIPLE COMPUTERS”, assignedto the assignee of the present application, and incorporated byreference in its entirety.

BACKGROUND

1. Field

Embodiments of the invention relate to status information saving amongmultiple computers.

2. Description of the Related Art

Multiple computers are frequently operated together. For example, in atypical datacenter, a number of computers may be mounted on a rack. Asingle console having various user input/output devices including amonitor, keyboard and a mouse pointing device, may be connected to eachcomputer in turn through a KVM (Keyboard Video Mouse) switch. In thismanner, a single keyboard, monitor and mouse may be used to manage eachcomputer in turn by selecting the target computer using appropriatecontrol inputs on the KVM switch. The selected target computer receivesuser control inputs from the user operated keyboard and mouse throughthe KVM switch and also provides video signals to drive the monitorthrough the KVM switch. To manage a different computer, the operatorcontrols the KVM switch to select a different computer as the targetcomputer to receive the keyboard and mouse inputs and provide themonitor video signals.

In other installations, several stand alone computers may be operated bya single console through a KVM switch. Again, the operator controls theKVM switch to select a different computer as the target computer toreceive the keyboard and mouse inputs and provide the monitor videosignals.

There are a number of different types of KVM switches. Earlier designsfrequently included mechanical and electromechanical switches to switchamongst the various target computers. More recent designs typicallyinclude electronic switches.

The operating systems for a number of computers may be disrupted shouldan input/output device be unexpectedly disconnected. Accordingly, morerecent KVM switches can emulate various input/output devices so that itappears to the computers as if the input/output devices of the consoleremain connected to each computer even though those computers may not bethe selected target computer which is actually connected to the console.Accordingly, the KVM switch can provide signals at the ports connectedto the computers, which emulate the various input/output devices for thenonselected computers.

Computers often maintain configuration and other status data innonvolatile memory onboard the computer itself. Should the computercrash or otherwise malfunction, this status information can be useful indiagnosing the problem. To obtain the onboard status information, thecomputer may need to be powered on or rebooted. Some operating systemsmaintain such status information in a “dump” file which may be offloadedfrom the computer. Other operating systems may have various operationswhich can provide configuration or other status information.

SUMMARY OF EMBODIMENTS OF THE INVENTION

Provided are a method, computer program product, and system for statusinformation saving among multiple computers. In one embodimentoperations are provided including operating a first computer using aplurality of input/output devices over input/output signal paths passingthrough a KVM switch positioned between the first computer and theplurality of input/output devices, switching input/output signal pathspassing through the KVM switch for the plurality of input/out devices tobe between a second computer and the plurality of input/output devicesinstead of between the first computer and the plurality of input/outputdevices, and operating the second computer using the plurality ofinput/output devices over the switched input/output signal paths passingthrough the KVM switch positioned between the second computer and theplurality of input/output devices. In accordance with one embodiment,status data is carried over signal paths passing through the KVM switchwherein the status data represents status information for at least oneof the first and second computers. The status data passing through theKVM switch is stored in a memory coupled to the KVM switch. Otherembodiments are described and claimed. Other embodiments arecontemplated, depending upon the particular application.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers representcorresponding parts throughout:

FIG. 1 illustrates details of a computing environment in accordance withcertain embodiments.

FIG. 2 illustrates a mouse pointing device having a removable memory fora computing environment in accordance with certain embodiments.

FIGS. 3 a, 3 b illustrate various switched input/output paths and statusdata paths of a KVM switch operating in a computing environment inaccordance with certain embodiments.

FIG. 4 illustrates logic performed by a status information saving systemin accordance with certain embodiments.

FIG. 5 illustrates another example of logic performed by a statusinformation saving system in accordance with another embodiment.

FIG. 6 illustrates a system architecture that may be used in accordancewith certain embodiments.

DETAILED DESCRIPTION

In the following description, reference is made to the accompanyingdrawings which form a part hereof and which illustrate severalembodiments of the invention. It is understood that other embodimentsmay be utilized and structural and operational changes may be madewithout departing from the scope of the invention.

A system in accordance with one embodiment of the present description isindicated generally at 100. The system 100 includes a plurality ofcomputers 110 a, 110 b . . . 110 n which may be freestanding computers,for example. The system 100 may alternatively include a plurality ofrack-mounted computers 112 a, 112 b . . . 112 mounted on a rack 120. AKVM (keyboard, video, mouse) switch 122 permits a console 124 whichincludes a keyboard 126, a monitor 128 and a mouse 130, to be used tooperate any one of the computers 110 a-110 n and 112 a-112 n.

The computers 110 a, 110 b . . . 110 n and 112 a, 112 b . . . 112 mayeach comprise any computing device known in the art, such as a server,mainframe, workstation, personal computer, hand held computer, laptoptelephony device, network appliance, etc. In addition to or instead ofthe keyboard 126, monitor 128 and mouse 130, the console may include anysuitable input/output device which facilitates operating the computersof the system 100.

In accordance with one embodiment of the present description and asdescribed in greater detail below, the KVM switch 122 facilitates savingstatus information for each of the computers 110 a-110 n and 112 a-112 nin a central memory 132 which is accessible by each of the computers 110a-110 n and 112 a-112 n. As shown in FIG. 2, the memory 132 may in oneembodiment, be a nonvolatile memory such as a Secure Digital (SD) flashmemory card which is removably inserted into a card slot 236. Inaddition, the memory 132 and card slot 236 may be conveniently locatedon one of the input/output devices connected to the KVM switch 122 suchas the mouse 130. It is appreciated that the central memory 132 may beother types of memory and may be located elsewhere such as on a monitor128, keyboard 126 or a KVM switch 122, console 124 or a rack 120, forexample.

FIG. 3 a illustrates the KVM switch 122 configured to permit a firstcomputer (computer 1) to be operated by the console 124. The KVM switch122 may be configured by inputting commands through the keyboard 126 orthrough any suitable input device.

In this embodiment, the KVM switch 122 has a set of ports 310 whichinclude a keyboard (K) port, a monitor (V) port and a mouse (M) portcoupled by suitable cables 312 to corresponding keyboard, monitor andmouse ports of a first computer such as computer 112 a, for example. Inthe configuration illustrated in FIG. 3 a, a switching network logic 320of the KVM switch 122 provides and maintains an input/output signal path324 which logically connects the keyboard port of the ports 310 to thekeyboard port 322 which is in turn connected by a suitable cable 326 tothe keyboard 126 of the console 124. Similarly, the switching networklogic 320 of the KVM switch 122 provides and maintains an input/outputsignal path 334 which logically connects the monitor port of the ports310 to the monitor port 336 which is in turn connected by a suitablecable 338 to the monitor 128 of the console 124. Also, the switchingnetwork logic 320 of the KVM switch 122 provides and maintains aninput/output signal path 344 which connects the mouse port of the ports310 to the mouse port 346 which is in turn connected by a suitable cable348 to the mouse 130 (FIG. 2) of the console 124 (FIG. 1).

FIG. 4 shows one example of operations to save status data among anumber of computers in accordance with one embodiment of the presentdescription. In one operation, a first computer is operated (block 400)using a plurality of input/output devices over input/output signal pathspassing through a KVM switch positioned between the first computer andthe plurality of input/output devices. In the example of FIG. 3 a, afirst computer such as computer 1, is selected to be operated using aplurality of input/output devices such as the keyboard 126, monitor 128and mouse 130 of the console 124, over input/output signal paths 324,334, 344 passing through the KVM switch 122 positioned between the firstcomputer and the plurality of input/output devices.

Accordingly, during operation of the selected computer 1, the selectedcomputer 1 provides video data for the monitor 128 over the input/outputsignal path 334 for viewing by the operator. Video data output by theremaining, non-selected computers, computer 2 through computer n, is notrouted by the KVM switch to the monitor 122 in this embodiment.

Similarly, keyboard strokes entered on the keyboard 126 by the operatorare routed to the selected computer 1 over the input/output path 324.Conversely, keyboard strokes entered on the keyboard 126 by the operatorare not routed to remaining, non-selected computers, computer 2 throughcomputer n, in this embodiment since computer 1 was selected.

Similarly, mouse movements entered on the mouse 130 by the operator arerouted to the selected computer 1 over the input/output path 344.Conversely mouse movements entered on the mouse 130 by the operator arenot routed to remaining, non-selected computers, computer 2 throughcomputer n, in this embodiment since computer 1 was selected.

In another operation as depicted in FIG. 4, input/output signal pathspassing through the KVM switch for the plurality of input/out devices,are switched (block 410) to be between a second computer and theplurality of input/output devices instead of between the first computerand the plurality of input/output devices. In the example of FIG. 3 b, asecond computer such as computer 2, is selected to be operated (block420, FIG. 4) using a plurality of input/output devices such as thekeyboard 126 (FIG. 1), monitor 128 and mouse 130 of the console 124,over input/output signal paths 364, 374, 384 passing through the KVMswitch 122 positioned between the second computer and the plurality ofinput/output devices. In this embodiment, the KVM switch 122 has a setof ports 386 which include a keyboard (K) port, a monitor (V) port and amouse (M) port coupled by suitable cables 388 to corresponding keyboard,monitor and mouse ports of a second computer (2) such as computer 112 b,for example. In the configuration illustrated in FIG. 3 b, the switchingnetwork logic 320 of the KVM switch 122 provides and maintains aninput/output signal path 364 which logically connects the keyboard portof the ports 386 to the keyboard port 322 connected by the cable 326 tothe keyboard 126 of the console 124. Similarly, the switching networklogic 320 of the KVM switch 122 provides and maintains an input/outputsignal path 374 which connects the monitor port of the ports 388 to themonitor port 336 connected by the cable 338 to the monitor 128 of theconsole 124. Also, the switching network logic 320 of the KVM switch 122provides and maintains an input/output signal path 384 which connectsthe mouse port of the ports 386 to the mouse port 346 connected by thecable 348 to the mouse 130 of the console 124.

Accordingly, during operation of the selected computer 2, the selectedcomputer 2 provides video data for the monitor 128 over the input/outputsignal path 374 for viewing by the operator. Video data output by theremaining, non-selected computers, computer 1 and computer 3 throughcomputer n, is not routed by the KVM switch to the monitor 122 in thisembodiment.

Similarly, keyboard strokes entered on the keyboard 126 by the operatorare routed to the selected computer 2 over the input/output path 364.Conversely, keyboard strokes entered on the keyboard 126 by the operatorare not routed to remaining, non-selected computers, computer 1 andcomputer 3 through computer n, in this embodiment since computer 2 wasselected.

Similarly, mouse movements entered via the mouse 130 by the operator arerouted to the selected computer 2 over the input/output path 384.Conversely mouse movements entered via the mouse 130 by the operator arenot routed to remaining, non-selected computers, computer 1 and computer3 through computer n, in this embodiment since computer 2 was selected.However, it is appreciated that in some applications, an operator mayconfigure a KVM switch to operate more than one computer at a time.

Although computer 1 is logically disconnected from the operatorinput/output devices of the console 123 in this configuration of FIG. 3b since computer 2 was selected, the switch network logic 122 emulatesoperator input/output devices similar to the keyboard 126, monitor 128and mouse 130 as if computer 1 remained logically connected to theoperator input/output devices. An unexpected disconnection ofinput/output devices can disrupt operation of some computers.Accordingly, the switch network logic 122 in this embodiment generatesappropriate signals and outputs them at the keyboard, monitor or mouseports of the ports 310 connected to the computer 1 so that computer 1can continue operation without the switching of the input/output devicesfrom computer 1 to computer 2 causing a disruption in operation ofcomputer 1. Similarly, the switch network logic 320 in this embodimentgenerates appropriate signals and outputs them at the keyboard, monitoror mouse ports of the ports connected to the remaining nonselectedcomputers so that the other nonselected computers can continue operationwithout the switching of the input/output devices causing a disruptionin operation of those other computers connected to the KVM switch 122.

In another operation as depicted in FIG. 4, status data is passed (block430) over signal paths passing through the KVM switch wherein the statusdata represents status information for at least one of the first andsecond computers. In the illustrated embodiment of FIGS. 1 and 2, thecentral memory for storing status data for the computers is positionedon the mouse 130. Accordingly, in the configuration illustrated in FIG.3 a, the switching network logic 320 of the KVM switch 122 provides andmaintains a data signal path 390 which logically connects the mouse portof the ports 310 to a memory port 394 which is in turn connected by asuitable cable 395 to the central memory 132 carried by the mouse 130.Accordingly, computer 1, the selected computer in the configuration ofFIG. 3 a, can generate status data which is passed over data signalpaths including data signal path 390 passing through the KVM switch 122wherein the status data represents status information for the computer1.

In another operation, the status data passing through the KVM switch maybe stored (block 440, FIG. 4) in a memory coupled to the KVM switch. Inthe configuration of FIG. 3 a, status data from computer 1, which ispassed over data signal path 390 of the KVM switch 122, may be stored inthe central memory 132. In some applications, the mouse cable 348 andthe central memory cable 394 may be a single, common cable or may beseparate, depending upon the particular application.

In accordance with another aspect of the present description, theremaining nonselected computers may also store associated status data inthe central memory notwithstanding that the remaining nonselectedcomputers are logically disconnected by the KVM switch from thekeyboard, monitor and mouse of the console. Accordingly, in theconfiguration illustrated in FIG. 3 a, the switching network logic 320of the KVM switch 122 provides and maintains additional status datasignal paths 390 which logically connect the mouse ports of the ports388, 393, 399 to the memory port 392 connected to the central memory 132carried by the mouse 130. Accordingly, computers 2 through n, thenon-selected computers in the configuration of FIG. 3 a, can eachgenerate status data which is passed over data signal paths includingdata signal paths 390 passing through the KVM switch 122 wherein thestatus data represents status information for the associated computer 2through n. Similarly, status data for the associated computers 2 throughn may be stored in the central memory 132 notwithstanding that thecomputers 2 through n are non-selected in the configuration of FIG. 3 a.

Similarly, in the configuration illustrated in FIG. 3 b, the switchingnetwork logic 320 of the KVM switch 122 provides and maintains statusdata signal paths 396 which logically connect the mouse ports of theports 312, 388, 393, 399 to the memory port 394 connected to the centralmemory 132 carried by the mouse 130. Accordingly, both the selectedcomputer 2 and the nonselected computers in the configuration of FIG. 3b, can each generate status data which is passed over data signal pathsincluding data signal paths 396 passing through the KVM switch 122wherein the status data represents status information for the associatedcomputers 1 through n. Similarly, status data for the associatedcomputers 1 through n may be stored in the central memory 132notwithstanding that the computer 1 and computers 3 through n arenon-selected in the configuration of FIG. 3 b.

FIG. 5 shows another example of operations to save status data among anumber of computers in accordance with another embodiment of the presentdescription. In one operation, the computers such as computers 110 a,110 b . . . 110 n and/or computers 112 a, 112 b . . . 112 n may beconnected (block 500) to a KVM switch such as the KVM switch 122 asdepicted in FIGS. 3 a, 3 b. Connected to the KVM switch are operatorinput/output devices including a keyboard, monitor, and pointing devicesuch as a mouse. Any suitable connections may be used including cables,wires, conductors, connectors, busses, printed circuit boards, wireless,serial, parallel, Universal Serial Bus (USB), and Ethernet asappropriate, depending upon the particular application.

In another operation, a peripheral memory driver for a peripheral memorysuch as the central memory 132, may be installed (block 510) on eachcomputer connected to the KVM switch. In the illustrated embodiment, thecentral memory 132 is connected to the KVM switch 122 through the mouse130. Accordingly, the peripheral memory driver may be convenientlyloaded as a part of the mouse driver for each computer. However, aspreviously mentioned, the central memory 132 may be positioned on otherperipheral devices such as the keyboard 126 or the monitor 128 of theconsole 124, for example. Accordingly, the peripheral memory driver maybe loaded as part of the driver of the associated peripheral device.Alternatively, the central memory 132 may be separate from any otherperipheral device. In either case, the peripheral memory driver for thecentral memory may be loaded separately from drivers of other peripheraldevices.

Once the peripheral memory driver is loaded on a particular computer,that computer may be rebooted to complete the installation andactivation of the peripheral memory driver on that computer. Thecomputers may be rebooted serially in turn or may be rebooted at thesame time, depending upon the particular application. It is appreciatedthat in some computers and operating systems, the peripheral memorydriver may be loaded, installed and activated without rebooting thecomputer hosting the driver.

In another operation, the peripheral memory driver for each computerstores (block 520) status data on the central peripheral memory which isaccessible to each computer through the KVM switch. In one embodiment,upon reboot of the computer (or otherwise starting of the peripheralmemory application), the peripheral memory driver can automaticallyprobe the O/S (Operating System) and collect configuration data andother status data (often referred to as the “recipe”) for the system aswell as applications installed on that particular system. The peripheralmemory driver for each computer stores the status data for theassociated computer in the central peripheral memory which is accessibleto each computer through the KVM switch.

In one embodiment, the peripheral memory driver for each computer storesthe status data for the associated computer in a text file in thecentral peripheral memory. Each computer connected to the KVM switch mayhave its own individual text file to store the status data for thatparticular computer. Thus, the text file for a particular computer maybe identified by the IP (internet protocol) address of the particularcomputer, for example. It is appreciated that the computers may sharestatus files and may be identified by a variety of identifications otherthan IP address, depending upon the particular application.

In another aspect, the peripheral memory driver can update theinformation saved in the text file on the central peripheral memorycarried by the mouse in response to various events. For example, in oneembodiment, whenever the associated system reboots or whenever there isan event generated on the system due to a hardware or applicationrelated problem, or when a timer periodically expires, the peripheralmemory driver can update the information saved in the text file for thatparticular computer in the central peripheral memory. As anotherexample, in the event of a system crash resulting in a memory dump, thatmemory dump information may also be sent to the central memory locatedon the mouse. Again, the memory dump information may be stored in a textfile in the central memory where the name of the text file could be thesame as the IP Address of the System that crashed.

The following is an example of the type of information which may bestored in a separate or shared text file for each system:

Hardware BIOS Version

Operating System installed on the system with version

CPU Configuration

Memory Configuration

Network Adapter: Manufacturer, Driver Version

RAID Controller: Manufacturer and Driver Version

Identification of Applications/processes running on the system.

Log of Any Events, Alerts (Warnings and Errors)

Captured Memory Dump or Crash Dump if Operating System crashes.

It is appreciated that other information in addition to or instead ofthe information set forth above may be stored for each computer in thecentral peripheral memory accessible through the KVM switch, dependingupon the particular application.

In another operation, one of the computers connected to the KVM switchmay change (block 530). If not, the peripheral memory drivers maycontinue to store status data (block 520) for the associated computer.

In the event that a computer is changed by altering or substituting acomputer, a determination may be made as to whether (block 540) theidentity of the computer has changed. Thus, in the example in which thecomputer IP address is used to identify the status information text filefor that computer, a determination may be made as to whether (block 540)the IP address of the changed computer has changed. If not, theperipheral memory driver for the changed computer may continue to storestatus data (block 550) in the same text file as before the change. Inone embodiment, the old text file may be overwritten with the new statusdata of the changed computer with the same IP address of the oldcomputer. It is appreciated that in some applications, it may beappropriate to retain the text file of the computer prior to the changeeven where the prior computer had the same IP address as the newcomputer. In such situations, the old text file may be preserved byrenaming, for example, to prevent overwriting by status data for thechanged computer with the same IP address, for example.

Alternatively, if the IP address has changed (block 540), the peripheralmemory driver for the changed computer can create (block 560) a new textfile using the new IP address of the changed computer to identify thenew text file, and store the status data for the changed computer in thenew text file. In one embodiment, the old text file for the old computerwith the different IP address may be retained for archive purposes.

In one aspect of the present description, the status data stored on thecentral peripheral memory permits the operator to readily review forexample, the last configuration of a particular system before itcrashed, what O/S was running or what processes were running on thesystem before the system went down. The operator can readily access thestored information for a particular computer notwithstanding that theparticular computer may no longer be operational. For example, theoperator can readily remove the peripheral central memory from the mouseand insert it into another slot to move or copy the status informationtext file to analyze for causation issues as well as for record keepingto track changes made to the system. For example, the operator canreadily identify changes to system configuration or an O/S revisionupgrade or a replacement of the O/S with some other operating system.

Additional Embodiment Details

The described operations may be implemented as a method, computerprogram product or apparatus using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof.

Each of the embodiments may take the form of an entirely hardwareembodiment, an entirely software embodiment or an embodiment containingboth hardware and software elements. The embodiments may be implementedin software, which includes but is not limited to firmware, residentsoftware, microcode, etc.

Furthermore, the embodiments may take the form of a computer programproduct accessible from a computer-usable or computer-readable mediumproviding program code for use by or in connection with a computer orany instruction execution system. For the purposes of this description,a computer-usable or computer readable medium may be any apparatus thatmay contain, store, communicate, propagate, or transport the program foruse by or in connection with the instruction execution system,apparatus, or device.

The described operations may be implemented as code maintained in acomputer-usable or computer readable medium, where a processor may readand execute the code from the computer readable medium. The medium maybe an electronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system (or apparatus or device) or a propagation medium.Examples of a computer-readable medium include a semiconductor or solidstate memory, magnetic tape, a removable computer diskette, a rigidmagnetic disk, an optical disk, magnetic storage medium (e.g., hard diskdrives, floppy disks, tape, etc.), volatile and non-volatile memorydevices (e.g., a random access memory (RAM), DRAMs, SRAMs, a read-onlymemory (ROM), PROMs, EEPROMs, Flash Memory, firmware, programmablelogic, etc.). Current examples of optical disks include compactdisk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) andDVD.

The code implementing the described operations may further beimplemented in hardware logic (e.g., an integrated circuit chip,Programmable Gate Array (PGA), Application Specific Integrated Circuit(ASIC), etc.). Still further, the code implementing the describedoperations may comprise a receiver or transmitter device or otherphysical carrier capable of processing or implementing the code as“transmission signals”, where transmission signals may propagate throughspace or through a transmission media, such as an optical fiber, copperwire, etc. The transmission signals in which the code or logic isencoded may further comprise a wireless signal, satellite transmission,radio waves, infrared signals, Bluetooth, etc. The transmission signalsin which the code or logic is encoded is capable of being transmitted bya transmitting station and received by a receiving station, where thecode or logic encoded in the transmission signal may be decoded andstored in hardware or a computer readable medium at the receiving andtransmitting stations or devices.

A computer program product may comprise computer useable or computerreadable media, hardware logic, and/or transmission signals in whichcode may be implemented. Of course, those skilled in the art willrecognize that many modifications may be made to this configurationwithout departing from the scope of the embodiments, and that thecomputer program product may comprise any suitable information bearingmedium known in the art.

The term logic may include, by way of example, software, hardware,firmware, and/or combinations of software and hardware.

Certain implementations may be directed to a method for deployingcomputing infrastructure by a person or automated processing integratingcomputer-readable code into a computing system, wherein the code incombination with the computing system is enabled to perform theoperations of the described implementations.

The logic of FIGS. 3-5 describes specific operations occurring in aparticular order. In alternative embodiments, certain of the logicoperations may be performed in a different order, modified or removed.Moreover, operations may be added to the above described logic and stillconform to the described embodiments. Further, operations describedherein may occur sequentially or certain operations may be processed inparallel, or operations described as performed by a single process maybe performed by distributed processes.

The illustrated logic of FIGS. 3-5 may be implemented in software,hardware, programmable and non-programmable gate array logic or in somecombination of hardware, software, or gate array logic.

FIG. 6 illustrates a system architecture 600 that may be used inaccordance with certain embodiments. Computers 110 a, 110 b . . . 110 nand 112 a, 112 b . . . 112 may each implement system architecture 600.The system architecture 600 is suitable for storing and/or executingprogram code and includes at least one processor 602 coupled directly orindirectly to memory elements 604 through a system bus 620. The memoryelements 604 may include local memory employed during actual executionof the program code, bulk storage, and cache memories which providetemporary storage of at least some program code in order to reduce thenumber of times code must be retrieved from bulk storage duringexecution. The memory elements 604 include an operating system 605 andone or more computer programs 606.

Input/Output (I/O) devices 612, 614 (including but not limited tokeyboards, displays, pointing devices, etc.) may be coupled to thesystem either directly or through intervening I/O controllers 610.Network adapters 608 may also be coupled to the system to enable thedata processing system to become coupled to other data processingsystems or remote printers or storage devices through interveningprivate or public networks. Modems, cable modem and Ethernet cards arejust a few of the currently available types of network adapters 608.

A network coupling the system architecture 600 may comprise any type ofnetwork, such as, for example, a peer-to-peer network, spoke and hubnetwork, Storage Area Network (SAN), a Local Area Network (LAN), WideArea Network (WAN), the Internet, an Intranet, etc.

The system architecture 600 may be coupled to storage 616 (e.g., anon-volatile storage area, such as magnetic disk drives, optical diskdrives, a tape drive, etc.). The storage 616 may comprise an internalstorage device or an attached or network accessible storage. Computerprograms 606 in storage 616 may be loaded into the memory elements 604and executed by a processor 602 in a manner known in the art. Thestorage 616 may comprise an array of storage devices, such as DirectAccess Storage Devices (DASDs), Just a Bunch of Disks (JBOD), RedundantArray of Independent Disks (RAID), virtualization device, etc.

The system architecture 600 may include fewer components thanillustrated, additional components not illustrated herein, or somecombination of the components illustrated and additional components. Thesystem architecture 600 may comprise any computing device known in theart, such as a mainframe, server, personal computer, workstation,laptop, handheld computer, telephony device, network appliance,virtualization device, storage controller, etc.

The foregoing description of embodiments of the invention has beenpresented for the purposes of illustration and description. It is notintended to be exhaustive or to limit the embodiments to the preciseform disclosed. Many modifications and variations are possible in lightof the above teaching. It is intended that the scope of the embodimentsbe limited not by this detailed description, but rather by the claimsappended hereto. The above specification, examples and data provide acomplete description of the manufacture and use of the composition ofthe embodiments. Since many embodiments may be made without departingfrom the spirit and scope of the embodiments, the embodiments reside inthe claims hereinafter appended or any subsequently-filed claims, andtheir equivalents.

What is claimed is:
 1. A method, comprising: operating a first computerusing a plurality of input/output devices over input/output signal pathspassing through a KVM (Keyboard Video Mouse) switch positioned betweenthe first computer and the plurality of input/output devices; switchinginput/output signal paths passing through the KVM switch for theplurality of input/output devices to be between a second computer andthe plurality of input/output devices instead of between the firstcomputer and the plurality of input/output devices; operating the secondcomputer using the plurality of input/output devices over the switchedinput/output signal paths passing through the KVM switch positionedbetween the second computer and the plurality of input/output devices;passing status data over signal paths passing through the KVM switchwherein the status data represents status information for at least oneof the first and second computers; and storing the status data passingthrough the KVM switch in a memory coupled to the KVM switch; whereinone of said plurality of input/output devices is a mouse pointingdevice, said memory is a removable flash memory card, and said mouse hasa memory slot adapted to receive said flash memory card, and whereinsaid status data is saved as a text file on said flash memory card foreach computer of said first and second computers and wherein said textfile of status data for each computer of said first and second computersincludes an IP address of the associated computer as a unique identifierand differentiator between status information for each computer of saidfirst and second computers.
 2. The method of claim 1 further comprisingmaintaining status data paths passing through said KVM switch, so thatsaid memory receives and stores status data from both said secondcomputer and said first computer while operating the second computerusing the plurality of input/output devices over the switchedinput/output signal paths passing through the KVM switch positionedbetween the second computer and the plurality of input/output devices.3. The method of claim 1 further comprising: installing a driver on eachof said first and second computers, said driver causing the associatedcomputer to store through said KVM switch, status data on said memory.4. The method of claim 1 further comprising: switching input/outputsignal paths passing through the KVM switch for the plurality ofinput/output devices to be between the first computer and the pluralityof input/output devices instead of between the second computer and theplurality of input/output devices; operating the first computer usingthe plurality of input/output devices over the switched input/outputsignal paths passing through the KVM switch positioned between the firstcomputer and the plurality of input/output devices; and reading saidstatus data for said second computer on said memory, while operating thefirst computer using the plurality of input/output devices over theswitched input/output signal paths passing through the KVM switchpositioned between the first computer and the plurality of input/outputdevices.
 5. The method of claim 1 wherein the status informationincludes at least one of following for items installed on the associatedcomputer, Hardware BIOS Version, Operating System with version, CPUConfiguration, Configuration of memory of the associated computer,Manufacturer and Driver Version of Network Adapter, Manufacturer andDriver Version of RAID Controller, Identification of runningApplications and processes, Events Alerts including Warnings and Errors,Dump of memory of associated computer, and Dump of Operating Systemcrash.
 6. The method of claim 3 further comprising causing the driverinstalled on the associated computer to automatically probe theOperating system of the associated computer and collect configurationdata for the associated computer, and identification data ofapplications installed on the associated computer and store thecollected data on said memory coupled to the KVM switch.
 7. The methodof claim 6 wherein said causing the driver installed on the associatedcomputer to automatically probe occurs on a reboot of the associatedcomputer, said method further comprising updating the collectedinformation stored on said memory of said plurality of devices connectedto the associated computer in the event of at least one of a reboot, awarning message or an error message of the associated computer.
 8. Themethod of claim 1 further comprising: replacing the second computer witha third computer; switching input/output signal paths passing throughthe KVM switch for the plurality of input/output devices to be betweenthe third computer and the plurality of input/output devices instead ofbetween the second computer and the plurality of input/output devices;and storing status data for said third computer on said flash memory,wherein said storing for said third computer includes, if the IP Addressof the third computer is same as the second computer, replacing existingstatus data for said second computer on said memory with status data forsaid third computer on said flash memory, and if the IP Address of thethird computer is different from that of the second computer, retainingexisting status data for said second computer on said flash memory andadding status data for said third computer on said flash memory.
 9. Acomputer program product comprising a computer useable storage deviceincluding a computer readable program, wherein the computer readableprogram when executed on a computer system causes the computer systemto: permit operating a first computer using a plurality of input/outputdevices over input/output signal paths passing through a KVM (KeyboardVideo Mouse) switch positioned between the first computer and theplurality of input/output devices; switch input/output signal pathspassing through the KVM switch for the plurality of input/output devicesto be between a second computer and the plurality of input/outputdevices instead of between the first computer and the plurality ofinput/output devices; permit operating the second computer using theplurality of input/output devices over the switched input/output signalpaths passing through the KVM switch positioned between the secondcomputer and the plurality of input/output devices; passing status dataover signal paths passing through the KVM switch wherein the status datarepresents status information for at least one of the first and secondcomputers; and store the status data passing through the KVM switch in amemory coupled to the KVM switch; wherein one of said plurality ofinput/output devices is a mouse pointing device, said memory is aremovable flash memory card, and said mouse has a memory slot adapted toreceive said flash memory card and wherein the program further causesthe computer system to: permit removing said flash memory card from saidmouse memory slot; permit inserting said flash memory card into anothermemory slot; and read said status data stored for said second computeron said memory; and wherein said status data is saved as a text file onsaid flash memory card for each computer of said first and secondcomputers and wherein said text file of status data for each computer ofsaid first and second computers includes an IP address of the associatedcomputer as a unique identifier and differentiator between statusinformation for each computer of said first and second computers andwherein the status information includes at least one of following foritems installed on the associated computer, Hardware BIOS Version,Operating System with version, CPU Configuration, Configuration ofmemory of the associated computer, Manufacturer and Driver Version ofNetwork Adapter, Manufacturer and Driver Version of RAID Controller,Identification of running Applications and processes, Events Alertsincluding Warnings and Errors, Dump of memory of associated computer,and Dump of Operating System crash.
 10. The computer program product ofclaim 9 wherein the program further causes the computer system tomaintain status data paths passing through said KVM switch, so that saidmemory receives and stores status data from both said second computerand said first computer while the second computer is operated using theplurality of input/output devices over the switched input/output signalpaths passing through the KVM switch positioned between the secondcomputer and the plurality of input/output devices.
 11. The computerprogram product of claim 9 wherein the program further includes a driverfor installation on each of said first and second computers, said drivercausing the associated computer to store through said KVM switch, statusdata on said memory wherein the driver installed on the associatedcomputer automatically probes the Operating system of the associatedcomputer and collects configuration data for the associated computer,and identification data of applications installed on the associatedcomputer and stores the collected data on said memory coupled to the KVMswitch, and wherein said probe occurs on a reboot of the associatedcomputer, said computer program product further causing the computersystem to update the collected information stored on said memory of saidplurality of devices connected to the associated computer in the eventof at least one of a reboot, a warning message or an error message ofthe associated computer.
 12. The computer program product of claim 9wherein the program further causes the computer system to: switchinput/output signal paths passing through the KVM switch for theplurality of input/output devices to be between the first computer andthe plurality of input/output devices instead of between the secondcomputer and the plurality of input/output devices; permit operating thefirst computer using the plurality of input/output devices over theswitched input/output signal paths passing through the KVM switchpositioned between the first computer and the plurality of input/outputdevices; and read said status data for said second computer on saidmemory, while operating the first computer using the plurality ofinput/output devices over the switched input/output signal paths passingthrough the KVM switch positioned between the first computer and theplurality of input/output devices.
 13. The computer program product ofclaim 9 wherein the program further causes the computer system to:permit replacing the second computer with a third computer; switchinput/output signal paths passing through the KVM switch for theplurality of input/output devices to be between the third computer andthe plurality of input/output devices instead of between the secondcomputer and the plurality of input/output devices; and store statusdata for said third computer on said flash memory, wherein said storingfor said third computer includes, if the IP Address of the thirdcomputer is same as the second computer, replacing existing status datafor said second computer on said memory with status data for said thirdcomputer on said flash memory, and if the IP Address of the thirdcomputer is different from that of the second computer, retainingexisting status data for said second computer on said flash memory andadding status data for said third computer on said flash memory.
 14. Asystem, comprising: a processor and a computer readable storage mediumhaving computer readable program code embodied therein and executed bythe processor to perform operations, the operations comprising:permitting operation of a first computer using a plurality ofinput/output devices over input/output signal paths passing through aKVM (Keyboard Video Mouse) switch positioned between the first computerand the plurality of input/output devices; switching input/output signalpaths passing through the KVM switch for the plurality of input/outputdevices to be between a second computer and the plurality ofinput/output devices instead of between the first computer and theplurality of input/output devices; permitting operation of the secondcomputer using the plurality of input/output devices over the switchedinput/output signal paths passing through the KVM switch positionedbetween the second computer and the plurality of input/output devices;passing status data over signal paths passing through the KVM switchwherein the status data represents status information for at least oneof the first and second computers; and storing the status data passingthrough the KVM switch in a memory coupled to the KVM switch; whereinone of said plurality of input/output devices is a mouse pointingdevice, said memory is a removable flash memory card, and said mouse hasa memory slot adapted to receive said flash memory card, and wherein theoperations further comprise: permitting removal of said flash memorycard from said mouse memory slot; permitting insertion of said flashmemory card into another memory slot; and reading said status datastored for said second computer on said memory; and wherein said statusdata is saved as a text file on said flash memory card for each computerof said first and second computers and wherein said text file of statusdata for each computer of said first and second computers includes an IPaddress of the associated computer as a unique identifier anddifferentiator between status information for each computer of saidfirst and second computers and wherein the status information includesat least one of following for items installed on the associatedcomputer, Hardware BIOS Version, Operating System with version, CPUConfiguration, Configuration of memory of the associated computer,Manufacturer and Driver Version of Network Adapter, Manufacturer andDriver Version of RAID Controller, Identification of runningApplications and processes, Events Alerts including Warnings and Errors,Dump of memory of associated computer, and Dump of Operating Systemcrash.
 15. The system of claim 14 wherein the operations furthercomprise maintaining status data paths passing through said KVM switch,so that said memory receives and stores status data from both saidsecond computer and said first computer while operating the secondcomputer using the plurality of input/output devices over the switchedinput/output signal paths passing through the KVM switch positionedbetween the second computer and the plurality of input/output devices.16. The system of claim 14 wherein the operations further comprise:installing a driver on each of said first and second computers, andcausing the driver installed on the associated computer to automaticallyprobe the operating system of the associated computer on a reboot of theassociated computer and collect configuration data for the associatedcomputer, and identification data of applications installed on theassociated computer and store through said KVM switch and on saidmemory, the collected data for associated computer; and causing thedriver installed on the associated computer to update the collectedinformation stored on said memory in the event of at least one of areboot, a warning message or an error message of the associatedcomputer.
 17. The system of claim 14 wherein the operations furthercomprise: switching input/output signal paths passing through the KVMswitch for the plurality of input/output devices to be between the firstcomputer and the plurality of input/output devices instead of betweenthe second computer and the plurality of input/output devices;permitting operation of the first computer using the plurality ofinput/output devices over the switched input/output signal paths passingthrough the KVM switch positioned between the first computer and theplurality of input/output devices; reading said status data for saidsecond computer on said memory, while operating the first computer usingthe plurality of input/output devices over the switched input/outputsignal paths passing through the KVM switch positioned between the firstcomputer and the plurality of input/output devices.
 18. The system ofclaim 14 wherein the operations further comprise: permitting replacementof the second computer with a third computer; switching input/outputsignal paths passing through the KVM switch for the plurality ofinput/output devices to be between the third computer and the pluralityof input/output devices instead of between the second computer and theplurality of input/output devices; and storing status data for saidthird computer on said flash memory, wherein said storing for said thirdcomputer includes, if the IP Address of the third computer is same asthe second computer, replacing existing status data for said secondcomputer on said memory with status data for said third computer on saidflash memory, and if the IP Address of the third computer is differentfrom that of the second computer, retaining existing status data forsaid second computer on said flash memory and adding status data forsaid third computer on said flash memory.
 19. A method, comprising:operating a first computer using a plurality of input/output devicesincluding a keyboard, video display device and pointing device, over aplurality of corresponding input/output signal paths including akeyboard data path for the keyboard, a video data path for the videodisplay device, and a pointing device data path for the pointing device,said input/output signal paths for the corresponding plurality ofinput/output devices passing through a KVM (Keyboard Video Mouse) switchpositioned between the first computer and the plurality of input/outputdevices; switching input/output signal paths passing through the KVMswitch for the plurality of input/output devices to be between a secondcomputer and the plurality of input/output devices instead of betweenthe first computer and the plurality of input/output devices; operatingthe second computer using the plurality of input/output devices over theswitched input/output signal paths passing through the KVM switchpositioned between the second computer and the plurality of input/outputdevices; passing status data over at least one of the signal pathspassing through the KVM switch wherein the status data represents statusinformation for at least one of the first and second computers; storingthe status data passing through the KVM switch in a memory coupled tothe KVM switch and located on one of said plurality of input/outputdevices; and wherein the status data for each computer of said first andsecond computers includes an IP address of the associated computer as aunique identifier and differentiator between status information for eachcomputer of said first and second computers.
 20. The method of claim 19further comprising: installing a driver on each of said first and secondcomputers, said driver causing the associated computer to store throughsaid KVM switch, status data on said memory.
 21. The method of claim 19wherein said pointing device is a mouse pointing device, said memory isa removable flash memory card, and said mouse pointing device has amemory slot adapted to receive said flash memory card.
 22. The method ofclaim 21 wherein said status data is saved as a text file on said flashmemory card for each computer of said first and second computers andwherein said text file of status data for each computer of said firstand second computers includes an IP address of the associated computeras a unique identifier and differentiator between status information foreach computer of said first and second computers.
 23. The method ofclaim 21 further comprising: removing said flash memory card from saidmouse memory slot; inserting said flash memory card into another memoryslot; and reading said status data stored for said second computer onsaid memory.
 24. The method of claim 22 wherein the status informationincludes at least one of following for items installed on the associatedcomputer, Hardware BIOS Version, Operating System with version, CPUConfiguration, Configuration of memory of the associated computer,Manufacturer and Driver Version of Network Adapter, Manufacturer andDriver Version of RAID Controller, Identification of runningApplications and processes, Events Alerts including Warnings and Errors,Dump of memory of associated computer, and Dump of Operating Systemcrash.
 25. The method of claim 20 further comprising causing the driverinstalled on the associated computer to automatically probe an Operatingsystem of the associated computer and collect configuration data for theassociated computer, and identification data of applications installedon the associated computer and store the collected configuration data onsaid memory coupled to the KVM switch.